This invention relates to a system and method for creation and automatic deployment of personalized, dynamic and interactive voice services, including information derived from on-line analytical processing (OLAP) systems, where the system and method includes the ability to deploy voice services through a digital sound file.
Although various user interfaces have been developed to enable users to access the content of data warehouses (for example, OLAP systems), through server systems, many such systems experience significant drawbacks. For example, in some situations a user may not have access to the computer software necessary to access the data warehouse (e.g., a traveling business person), or may not have time to sit and read all the retrieved information. In addition, persons with visual impairments may not be able to read the retrieved information.
These and other drawbacks exist with current OLAP interface systems.
An object of the invention is to overcome these and other drawbacks in existing systems.
According to one embodiment, the invention provides a system and method for the creation and automatic deployment of personalized, dynamic and interactive voice services, including information derived from on-line analytical processing (OLAP) systems and other data repositories, where the system and method includes the ability to deploy voice services through a digital sound file. Accordingly, the system does not require constant access to a terminal device and enables storage of content. Furthermore, by delivering information through voice services, it is not necessary for the recipient to read the retrieved information.
Delivery of voice service information through a digital sound file also enables enhancements of the voice service. For example, other sound files, sound effects, music or other enhancements may be incorporated, from various sources, into the sound file. In this fashion, the relay of information to the user may be made more enjoyable for the user.
Many parameters or style properties of the sound file recording/delivery may be customized according to a user""s desire. For example, sound file format, type of message delivery, maximum file size and other features may be pre-selected by the user.
One embodiment of the invention relates to a system and method for creation and automatic deployment of personalized, dynamic and interactive voice services, including information derived from on-line analytical processing (OLAP) systems and other data repositories. The system and method enables the ability to capture user selections to facilitate closed-loop transaction processing and processing of other requests. One aspect of the invention relates to an interactive voice broadcasting (IVB) system and method that enables analytical reporting and advanced transactional services via the telephone or other voice-enabled terminal device. One advantage of the invention is that a voice service may leverage the power of OLAP or other data repository systems and provide critical information to the user, in a timely fashion, by phone. Another advantage of this method and system is that it provides a user with the opportunity to immediately act upon information received during an IVB.
A voice service is created and can have many users subscribed to the voice service. Each user can specify personal preferences for the content and presentation of the contents for a voice service. The specification of the elements of a voice service may be done using a set of interfaces (such as GUIs) that take the form of a voice service wizard.
A voice service includes one or more Dialog elements. Dialog elements may include one or more of Speech elements, Input elements and Error elements. An Input element may include a Prompt element and/or an Option element. An Input element enables the system to request input from the user, capture the input and direct the call flow based on the user""s input. An Option element associates a key (e.g, on a telephone touch pad dial) with a destination Dialog that is executed when that number is pressed by a user during an interactive voice broadcast. A Prompt requests a user to enter numeric or other information. An Input element may enable a user to request, during an IVB, a transaction, a service or other requests. The term transactions, services and requests are to be interpreted broadly.
According to one embodiment, the user""s responses to Input elements are stored during an IVB and, during or after the voice broadcast, the stored information is processed by the system or is passed to another system or application for processing. The transaction (or other request) processing can be accomplished either in real-time, during the voice broadcast, or after the IVB is completed. The results or confirmation of a transaction or other request can be provided to the user during the call or subsequently.
Once a voice service is created, the system monitors predetermined conditions to determine when the voice service should be executed. Each voice service is executed when one or more predetermined conditions are met as specified during creation of the voice service. For example, a voice service may be executed according to a predetermined schedule (time-based) or based on a triggering event (e.g., one or more conditions are met based on the output of an OLAP or other report).
When the predetermined condition is satisfied, the voice service is executed. Executing a voice service includes the steps of generating the content specified by the voice service and the user preferences. Some users may have identical personalization options and, thus, a single call structure may be generated for a group of users with identical personalization options. The content of the voice service includes the information that is to be delivered to users of that voice service, and the Input to be requested from the user, among other things. The content may include, for example, static text messages, dynamic content (e.g., text based on information output from an OLAP report, other database or other sources) or blended text (e.g., static text combined with dynamic content).
This and other content along with a user""s personalization preferences are formatted in an Active Voice Page (AVP). An AVP contains the call structure and data, voice style parameters for the user and personal identification information designated for the user. The AVP contains data at various hierarchical levels that are defined by the Dialog elements defined for each voice service. The active voice pages are used to help govern the interaction between the call server and the user during an IVB. According to one embodiment, the content is formatted, into an AVP using XSL stylesheets so the AVP is in an XML-based language. According to one embodiment, the XML-based language used is a novel language referred to as TML (discussed below). The AVP is sent to a call server along with style properties for each user. The style properties of a user help determine the behavior of the call server during an IVB. A unique AVP is generated for each user scheduled to receive a voice service.
When a user is called by the call server, information is passed through a text-to-speech (T-T-S) engine and delivered to the user through a voice-enabled terminal device. Preferably, the structure of each call is dynamic, driven by current data values and is personalized based on a user profile established during subscription to a voice service. During a typical IVB, a synthesized, natural sounding voice greets the recipient by name, identifies itself, provides information relevant to the user and enables a user to provide input back to the system.
An IVB is a voice-enabled interaction with a user having a dynamic structure controlled by the AVP for the particular user. The IVB may be delivered using real-time, on-the-fly speech generation. In addition to on-the-fly speech generation, some embodiments of the invention may incorporate prerecorded sound files into an IVB. Switching between the T-T-S engine and prerecorded sound files may also be accomplished on-the-fly. During an IVB, information is exchanged between the call server and a user according to the AVP. The system executes dialogs by reading messages to the user and, eliciting input from the user. For example, the user may press buttons on a telephone touch pad dial to select an option or to provide numeric or alphanumeric input. Each response provided by a user may transfer control of the IVB to a different part of the AVP.
During or after the IVB, the user""s responses may be processed by the system or other applications. The AVP may contain pointers to other applications and embedded statements such that when a user exercises an option, the system performs a requested operation and returns the results to the user during the IVB. For example, by exercising an option, a user may request that a real-time database query be performed. When the user selects such an option, control is shifted to a portion of the AVP that contains an embedded SQL statement that is made against a database.
When a user has worked through selected dialogs of the AVP, the IVB is terminated. That is, a user likely will not work through all of the available dialogs during an IVB. Rather, the user""s inputs and option selections determine which the available dialogs are encountered during any given IVB.
Other objects and advantages of the present invention will be apparent to one of ordinary skill in the art upon reviewing the detailed description of the present invention.